fix(FR-2837): set shmem under config.resource_opts and display SHM in endpoint detail#7299
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
ironAiken2
left a comment
There was a problem hiding this comment.
The changes in this PR appear to target the legacy /serving code paths, not the new /deployments UI that is actually wired up:
ServiceLauncherPageContentis only rendered bypages/ServiceLauncherPage.tsx, and that page is no longer imported inroutes.tsx(see the comment aroundroutes.tsx:70-76referencing FR-2675 / FR-2822). The legacy/servingand/serviceroutes are now justWebUINavigateredirects to/deployments. Other importers ofServiceLauncherPageContent(useModelServiceLauncher,LegacyModelTryContentButton,ServiceValidationView) only import its types, not the component itself, so the submit handler that was patched here is never actually executed in the running app.EndpointDetailPageis not imported anywhere inroutes.tsxeither. The detail route under/deployments/:deploymentId(and/admin-deployments/:deploymentId) rendersDeploymentDetailPage, notEndpointDetailPage. So the new SHM display block also never reaches the UI.
As a result, neither half of the fix is observable from the user-facing flow:
- Submit side — when a revision is created with a custom
shmemin the new deployment UI, the shmem still needs to be placed underconfig.resource_opts.shmemby the live code path. That path lives inDeploymentLauncherPageContent.tsx(initial deployment) andDeploymentAddRevisionModal.tsx(revision creation — currently builds aresourceConfig.resourceOpts.entries[]shape around line 668), not inServiceLauncherPageContent. - Display side — opening the revision detail drawer on a deployment, I cannot see the configured shmem anywhere. The SHM hint added to
EndpointDetailPagedoes not appear because that page is not rendered. The display needs to be added to theDeploymentDetailPage(or the revision detail drawer component that is actually used).
Could you reapply the fix against the deployment-side components (DeploymentLauncherPageContent, DeploymentAddRevisionModal, and DeploymentDetailPage / revision detail drawer) and confirm the test by creating a deployment + revision with a custom shmem and checking that the value is both sent correctly and shown in the drawer? Also worth verifying the testing notes in the PR description — /serving/<id> is a redirect to /deployments/<id>, so the test server screenshot would have been rendered by DeploymentDetailPage, which this PR does not touch.
If ServiceLauncherPage / EndpointDetailPage are now genuinely unreachable, a follow-up cleanup PR to delete them (or roll them into this one) would also help avoid this kind of confusion in the future.
059427c to
cf22153
Compare
78fb36a to
7a4501f
Compare
ironAiken2
left a comment
There was a problem hiding this comment.
LGTM - This is a pull request for 25.15 Cherrypick.
Merge activity
|
… endpoint detail (#7299) Resolves #7292 ([FR-2837](https://lablup.atlassian.net/browse/FR-2837)) > Test server: \<webui>/serving/dc384809-56d5-4a17-9d2e-73fde29af978 in `10.82.1.246` ## Summary - Move `shmem` from being set directly under `config` to under `config.resource_opts.shmem` when creating model services in `ServiceLauncherPageContent`, matching the pattern used by `useStartSession` for compute sessions. - Display SHM next to the memory resource on the endpoint detail page by parsing `endpoint.resource_opts.shmem` and converting it to bytes via `convertToBinaryUnit`, so users can verify the configured shared memory size of a deployed model service. ## Test plan - [ ] Create a new model service with custom shared memory (e.g. 2 GiB) and verify the deployment is created with the requested SHM (not 0.06 GiB). - [ ] Open the endpoint detail page for the created service and confirm `(SHM: …GiB)` appears next to the memory value. - [ ] Verify that when `shmem` is not set, the memory display does not show an empty/zero SHM hint. [FR-2837]: https://lablup.atlassian.net/browse/FR-2837?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
cf22153 to
b3fa810
Compare
Coverage Report for react-coverage (./react)
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||
… endpoint detail (#7299) Cherry-picked from b3fa810. Resolves #7292 (FR-2837). - Move shmem from being set directly under config to under config.resource_opts.shmem when creating model services in ServiceLauncherPageContent. - Display SHM next to the memory resource on the endpoint detail page by parsing endpoint.resource_opts.shmem and converting it to bytes via convertToBinaryUnit. Conflict resolution notes (25.15 branch): - ServiceLauncherPageContent: 25.15 already had `resource_opts: { shmem }` unconditionally; adopted PR's conditional guard `...(values.resource.shmem && { resource_opts: { shmem } })`. - EndpointDetailPage imports: only added `convertToBinaryUnit` (the other extra exports from main are not used in 25.15's version of this file).

Resolves #7292 (FR-2837)
Summary
shmemfrom being set directly underconfigto underconfig.resource_opts.shmemwhen creating model services inServiceLauncherPageContent, matching the pattern used byuseStartSessionfor compute sessions.endpoint.resource_opts.shmemand converting it to bytes viaconvertToBinaryUnit, so users can verify the configured shared memory size of a deployed model service.Test plan
(SHM: …GiB)appears next to the memory value.shmemis not set, the memory display does not show an empty/zero SHM hint.